package com.zretc.emptraining.service;

import java.util.List;

import com.zretc.emptraining.dbtools.PageData;
import com.zretc.emptraining.entity.Users;

public interface UsersService {
	/**
	 * 登陆方法
	 * @param userName
	 * @param userPwd
	 * @return
	 */
	public boolean doLogin(String userName, String userPwd);
	/**
	 * 添加方法
	 * @param users
	 * @return
	 */
	public boolean addUsers(Users users);
	/**
	 * 修改用户状态方法
	 * @param state
	 * @param userNo
	 * @return
	 */
	public boolean stateUpd(String state, String userNo);
	/**
	 * 修改用户信息
	 * @param empNo
	 * @param userName
	 * @param userPwd
	 * @param userNo
	 * @return
	 */
	public boolean updUsersByName(int empNo,String userName,String userPwd,String userNo);
	/**
	 * 分页方法
	 * @param page
	 * @param pageSize
	 * @param keywords
	 * @return
	 */
	public PageData<Users> getUsersByPage(int page, int pageSize, String keywords);
	/**
	 * 获得用户列表 -- 用户名模糊查询
	 * @param keywords
	 * @return
	 */
	public List<Users> getUsers(String keywords);
	/**
	 * 判断是否重复存在方法  --- 用户名精确查询
	 * @param userName
	 * @return
	 */
	public Users getUserByName(String userName); 
	/**
	 * 初始化用户密码
	 * @param userNo
	 * @return
	 */
	public boolean initUserPwd(String userNo);
	/**
	 * 修改员工电话时同时修改用户用户编号
	 * @param empNo
	 * @param empTel
	 * @return
	 */
	public boolean updUserNo(int empNo,String empTel);
	/**
	 * 根据用户编号 修改用户密码
	 * @param userNo
	 * @param userPwd
	 * @return
	 */
	public boolean updUserPwd(String userNo,String userPwd);	
	/**
	 * 验证密码方法
	 * @param pwd
	 * @return
	 */
	public Users getUserByPwd(String pwd);
	/**
	 * 根据用户名 修改用户密码
	 * @param userNo
	 * @param userPwd
	 * @return
	 */
	public boolean updPwd(String userNo,String userPwd);
	/**
	 * 获得单个用户信息的方法（通过用户账号获得用户的员工编号，若结果为空，该用户是教员,在业务层判断）
	 * @param userName
	 * @return
	 */
	public Users getUsersEmpNo(String userName);
	/**
	 * 通过用户名字精确查找
	 * @param userName
	 * @return
	 */
	public List<Users> getUsersByName(String userName);
}
